/**
 ***********************************************************************
 * Program name: EmailFormatBuilder.java<br>
 * Program description: TODO<br>
 * Author: sugen<br>
 * Revision history:1.0<br>
 * <br>
 * Description of Change	Programmer		Date<br>
 * ---------------------    ----------      ----<br>
 * Initial creation			Su Gen		   2011-3-9 <br>
 * <br>
 * Copyright (c) 2011 by SUGEN ALL RIGHTS RESERVED<br>
 ************************************************************************
 */
package com.mail;

import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.common.DateUtil;
public class EmailFormatBuilder {
	
	/**
	 * 
	 * <B>NAME</B>:buildTable <BR>
	 * <B>DESC</B>:构建表格
	 * @param header 表头数组
	 * @param rs 数据集合 注意：List 里面必须是Map ,Map的key 必须和表头一致,数量也必须一致
	 * @return StringBuffer
	 * @date 2011-3-9
	 * @author Su Gen
	 * @throws ParseException 
	 */
	public static StringBuffer buildHtml(String [] header,List rs) throws ParseException{
		StringBuffer op=new StringBuffer();
		op.append("<style type='text/css'>");
		op.append(".tableDataTable");
		op.append("{");
		op.append("	margin: 0px;");
		op.append("	font-size: 12px;");
		op.append("	text-decoration: none;");
		op.append("	color: Black;");
		op.append("	background-color: inherit;");
		op.append("	border: solid 1px Black;");
		op.append("}");
		op.append(".tdCommonTableData");
		op.append("{");
		op.append("	margin: 0px;");
		op.append("	font-size: 12px;");
		op.append("	text-decoration: none;");
		op.append("	color: Black;");
		op.append("	background-color: inherit;");
		op.append("	border-right: black 1px solid;");
		op.append("	border-top: black 1px solid;");
		op.append("	border-bottom: black 1px solid;");
		op.append("	border-left: black 1px solid;");
		op.append("}");
		op.append("</style>");
		
		op.append("<table class='tableDataTable' cellspacing='0' cellpadding='5' border='0' style='border-style:Solid;width:30%;border-collapse:collapse;word-break:break-all;word-wrap:break-word'>");
		op.append("<TR style='background-color:#E8E8E8;font-weight:bold;height:30px;'>");
		for(int i=0;i<header.length;i++){
			op.append("<TD class='tdCommonTableData'  align='left'><B>"+header[i]+"</B></TD>");
		}
		op.append("</TR>");
		for(int i=0;i<rs.size();i++){
			Map m=(Map) rs.get(i);
			op.append("<TR>");
			 for(int j=0;j<m.size();j++){
				 Object tmp=m.get(header[j]);
				 if(tmp==null){
					 tmp=new String("-");
				 }
				 op.append("<TD class='tdCommonTableData' align='left'>"+tmp.toString()+"</TD>");
			 }
			op.append("</TR>");
		}
		
		op.append("</table>");
		op.append("<br> Date : "+DateUtil.getDateOfString(new Date().getTime(),DateUtil.DATE_FORMAT_YYYY_MM_DD));
		op.append("<br> Su Gen");
		if(rs.size()==0){return null;};
		return op;
	}
	
	
	/**
	 * 
	 * <B>NAME</B>:buildTable <BR>
	 * <B>DESC</B>:构建表格
	 * @param header 表头数组
	 * @param rs 数据集合 注意：List 里面必须是Map ,Map的key 必须和表头一致,数量也必须一致
	 * @return StringBuffer
	 * @date 2011-3-9
	 * @author Su Gen
	 * @throws ParseException 
	 */
	public static StringBuffer buildText(String [] header,List rs) throws ParseException{
		StringBuffer op=new StringBuffer();
		op.append("<style type='text/css'>");
		op.append(".tableDataTable");
		op.append("{");
		op.append("	margin: 0px;");
		op.append("	font-size: 12px;");
		op.append("	text-decoration: none;");
		op.append("	color: Black;");
		op.append("	background-color: inherit;");
		op.append("	border: solid 1px Black;");
		op.append("}");
		op.append(".tdCommonTableData");
		op.append("{");
		op.append("	margin: 0px;");
		op.append("	font-size: 12px;");
		op.append("	text-decoration: none;");
		op.append("	color: Black;");
		op.append("	background-color: inherit;");
		op.append("	border-right: black 1px solid;");
		op.append("	border-top: black 1px solid;");
		op.append("	border-bottom: black 1px solid;");
		op.append("	border-left: black 1px solid;");
		op.append("}");
		op.append("</style>");
		
		op.append("<table class='tableDataTable' cellspacing='0' cellpadding='5' border='0' style='border-style:Solid;width:100%;border-collapse:collapse;word-break:break-all;word-wrap:break-word'>");
		op.append("<TR style='background-color:#E8E8E8;font-weight:bold;height:30px;'>");
		for(int i=0;i<header.length;i++){
			op.append("<TD class='tdCommonTableData'  align='left'><B>"+header[i]+"</B></TD>");
		}
		op.append("</TR>");
		for(int i=0;i<rs.size();i++){
			Map m=(Map) rs.get(i);
			op.append("<TR>");
			 for(int j=0;j<m.size();j++){
				 Object tmp=m.get(header[j]);
				 if(tmp==null){
					 tmp=new String("-");
				 }
				 op.append("<TD class='tdCommonTableData' align='left'>"+tmp.toString()+"</TD>");
			 }
			op.append("</TR>");
		}
		
		op.append("</table>");
		op.append("<br> Date : "+DateUtil.getDateOfString(new Date().getTime(),DateUtil.DATE_FORMAT_YYYY_MM_DD));
		op.append("<br> Su Gen");
		return op;
	}
}
